package com.ztesoft.web.baseconfig.vo;

import java.util.Date;
import java.util.List;

import org.apache.commons.lang.StringUtils;

import com.ztesoft.framework.dto.AbstractDto;
import com.ztesoft.web.baseconfig.db.po.DmStrategyPO;
import com.ztesoft.web.common.vo.DmHostConnInfoVO;

public class DmFilePlanVO extends AbstractDto {
	// 状态-前台传入
	private String act;

	// 计划信息
	private Integer dmPlanId;
	private Integer seqNbr;
	private String planName;
	private String planDesc;
	private Date effDate;
	private Date expDate;
	private Date createDate;
	private String state;
	private Date stateDate;
	private Integer sourceType;
	private Integer targetType;
	private String execType;
	private String execFrequency;
	private Integer operType;
	private String cycleType;
	private Integer cycleDay;
	private String needCheck;
	private String startTime;
	private Date nextScheduleTime;
	private String specialDay;
	private String[] specialDays;
	private Integer staffId;
	private Integer nodeId;
	private Integer tableAnalyseFlag;
	private Integer indexAnalyseFlag;

	// 策略信息
	private DmStrategyPO dmStrategyPO;// 对象
	private Integer dmStrategyId;
	private Integer groupNbr;
	private String strategyName;
	private Integer concurrentNumber;

	// 源数据信息
	private Integer sourceDataId;
	private String dmBackupType;
	private String scriptPath;

	// 文件检索规则信息
	private Integer scanRuleId;
	private Integer dirOrder;
	private Integer scanRange;
	private String fileType;
	private String filenameScanXpath;
	private String scanTimeType;
	private String scanTimeSection;
	private Integer scanTimeShiftMin;
	private Integer scanTimeShiftMax;
	private String scanStatements;
	private Integer filesizeMin;
	private Integer filesizeMax;
	private Integer sourceFileZipSwitch;
	private Integer targetFileZipSwitch;
	private String ruleDesc;

	// 目标主机信息
	private List<DmHostConnInfoVO> destHostGridData;
	// 目标主机信息-前台
	private String destHostGridDataStr;
	// 源主机信息
	private List<DmHostConnInfoVO> srcHostGridData;
	// 源主机信息-前台
	private String srcHostGridDataStr;

	// 源目录信息-前台
	private String sourceXpathGridDataStr;
	// 源目录信息
	private List<XpathAndFileNameVO> sourceXpathGridData;
	// 目标目录信息-前台
	private String targetXpathGridDataStr;
	// 目标目录信息
	private List<XpathAndFileNameVO> targetXpathGridData;

	// 文件名称配置规则信息-前台
	private String fileNameGridDataStr;
	// 文件名称配置规则信息
	private List<XpathAndFileNameVO> fileNameGridData;

	// 目录预览
	private List<String> xpathList;
	private boolean xpathIsOK = true;

	// 文件名预览
	private List<String> fileNameList;
	private boolean fileNameIsOK = true;

	public List<String> getFileNameList() {
		return fileNameList;
	}

	public void setFileNameList(List<String> fileNameList) {
		this.fileNameList = fileNameList;
	}

	public boolean isFileNameIsOK() {
		return fileNameIsOK;
	}

	public void setFileNameIsOK(boolean fileNameIsOK) {
		this.fileNameIsOK = fileNameIsOK;
	}

	public boolean isXpathIsOK() {
		return xpathIsOK;
	}

	public void setXpathIsOK(boolean xpathIsOK) {
		this.xpathIsOK = xpathIsOK;
	}

	public List<String> getXpathList() {
		return xpathList;
	}

	public void setXpathList(List<String> xpathList) {
		this.xpathList = xpathList;
	}

	public Integer getGroupNbr() {
		return groupNbr;
	}

	public void setGroupNbr(Integer groupNbr) {
		this.groupNbr = groupNbr;
	}

	public List<XpathAndFileNameVO> getFileNameGridData() {
		return fileNameGridData;
	}

	public void setFileNameGridData(List<XpathAndFileNameVO> fileNameGridData) {
		this.fileNameGridData = fileNameGridData;
	}

	public String getAct() {
		return act;
	}

	public void setAct(String act) {
		this.act = act;
	}

	public DmStrategyPO getDmStrategyPO() {
		return dmStrategyPO;
	}

	public void setDmStrategyPO(DmStrategyPO dmStrategyPO) {
		this.dmStrategyPO = dmStrategyPO;
	}

	public Integer getScanRuleId() {
		return scanRuleId;
	}

	public void setScanRuleId(Integer scanRuleId) {
		this.scanRuleId = scanRuleId;
	}

	public Integer getDirOrder() {
		return dirOrder;
	}

	public void setDirOrder(Integer dirOrder) {
		this.dirOrder = dirOrder;
	}

	public Integer getScanRange() {
		return scanRange;
	}

	public void setScanRange(Integer scanRange) {
		this.scanRange = scanRange;
	}

	public String getFileType() {
		return fileType;
	}

	public void setFileType(String fileType) {
		this.fileType = fileType;
	}

	public String getFilenameScanXpath() {
		return filenameScanXpath;
	}

	public void setFilenameScanXpath(String filenameScanXpath) {
		this.filenameScanXpath = filenameScanXpath;
	}

	public String getScanTimeType() {
		return scanTimeType;
	}

	public void setScanTimeType(String scanTimeType) {
		this.scanTimeType = scanTimeType;
	}

	public String getScanTimeSection() {
		return scanTimeSection;
	}

	public void setScanTimeSection(String scanTimeSection) {
		this.scanTimeSection = scanTimeSection;
	}

	public Integer getScanTimeShiftMin() {
		return scanTimeShiftMin;
	}

	public void setScanTimeShiftMin(Integer scanTimeShiftMin) {
		this.scanTimeShiftMin = scanTimeShiftMin;
	}

	public Integer getScanTimeShiftMax() {
		return scanTimeShiftMax;
	}

	public void setScanTimeShiftMax(Integer scanTimeShiftMax) {
		this.scanTimeShiftMax = scanTimeShiftMax;
	}

	public String getScanStatements() {
		return scanStatements;
	}

	public void setScanStatements(String scanStatements) {
		this.scanStatements = scanStatements;
	}

	public Integer getFilesizeMin() {
		return filesizeMin;
	}

	public void setFilesizeMin(Integer filesizeMin) {
		this.filesizeMin = filesizeMin;
	}

	public Integer getFilesizeMax() {
		return filesizeMax;
	}

	public void setFilesizeMax(Integer filesizeMax) {
		this.filesizeMax = filesizeMax;
	}

	public Integer getSourceFileZipSwitch() {
		return sourceFileZipSwitch;
	}

	public void setSourceFileZipSwitch(Integer sourceFileZipSwitch) {
		this.sourceFileZipSwitch = sourceFileZipSwitch;
	}

	public Integer getTargetFileZipSwitch() {
		return targetFileZipSwitch;
	}

	public void setTargetFileZipSwitch(Integer targetFileZipSwitch) {
		this.targetFileZipSwitch = targetFileZipSwitch;
	}

	public String getRuleDesc() {
		return ruleDesc;
	}

	public void setRuleDesc(String ruleDesc) {
		this.ruleDesc = ruleDesc;
	}

	public String getFileNameGridDataStr() {
		return fileNameGridDataStr;
	}

	public void setFileNameGridDataStr(String fileNameGridDataStr) {
		this.fileNameGridDataStr = fileNameGridDataStr;
	}

	public List<XpathAndFileNameVO> getSourceXpathGridData() {
		return sourceXpathGridData;
	}

	public void setSourceXpathGridData(List<XpathAndFileNameVO> sourceXpathGridData) {
		this.sourceXpathGridData = sourceXpathGridData;
	}

	public List<XpathAndFileNameVO> getTargetXpathGridData() {
		return targetXpathGridData;
	}

	public void setTargetXpathGridData(List<XpathAndFileNameVO> targetXpathGridData) {
		this.targetXpathGridData = targetXpathGridData;
	}

	public String getSourceXpathGridDataStr() {
		return sourceXpathGridDataStr;
	}

	public void setSourceXpathGridDataStr(String sourceXpathGridDataStr) {
		this.sourceXpathGridDataStr = sourceXpathGridDataStr;
	}

	public String getTargetXpathGridDataStr() {
		return targetXpathGridDataStr;
	}

	public void setTargetXpathGridDataStr(String targetXpathGridDataStr) {
		this.targetXpathGridDataStr = targetXpathGridDataStr;
	}

	public String getDestHostGridDataStr() {
		return destHostGridDataStr;
	}

	public void setDestHostGridDataStr(String destHostGridDataStr) {
		this.destHostGridDataStr = destHostGridDataStr;
	}

	public String getSrcHostGridDataStr() {
		return srcHostGridDataStr;
	}

	public void setSrcHostGridDataStr(String srcHostGridDataStr) {
		this.srcHostGridDataStr = srcHostGridDataStr;
	}

	public List<DmHostConnInfoVO> getDestHostGridData() {
		return destHostGridData;
	}

	public void setDestHostGridData(List<DmHostConnInfoVO> destHostGridData) {
		this.destHostGridData = destHostGridData;
	}

	public List<DmHostConnInfoVO> getSrcHostGridData() {
		return srcHostGridData;
	}

	public void setSrcHostGridData(List<DmHostConnInfoVO> srcHostGridData) {
		this.srcHostGridData = srcHostGridData;
	}

	public Integer getDmStrategyId() {
		return dmStrategyId;
	}

	public void setDmStrategyId(Integer dmStrategyId) {
		this.dmStrategyId = dmStrategyId;
	}

	public Integer getSourceDataId() {
		return sourceDataId;
	}

	public void setSourceDataId(Integer sourceDataId) {
		this.sourceDataId = sourceDataId;
	}

	public String getDmBackupType() {
		return dmBackupType;
	}

	public void setDmBackupType(String dmBackupType) {
		this.dmBackupType = dmBackupType;
	}

	public String getScriptPath() {
		return scriptPath;
	}

	public void setScriptPath(String scriptPath) {
		this.scriptPath = scriptPath;
	}

	public String getStrategyName() {
		return strategyName;
	}

	public void setStrategyName(String strategyName) {
		this.strategyName = strategyName;
	}

	public Integer getConcurrentNumber() {
		return concurrentNumber;
	}

	public void setConcurrentNumber(Integer concurrentNumber) {
		this.concurrentNumber = concurrentNumber;
	}

	public Integer getDmPlanId() {
		return dmPlanId;
	}

	public void setDmPlanId(Integer dmPlanId) {
		this.dmPlanId = dmPlanId;
	}

	public Integer getSeqNbr() {
		return seqNbr;
	}

	public void setSeqNbr(Integer seqNbr) {
		this.seqNbr = seqNbr;
	}

	public String getPlanName() {
		return StringUtils.isBlank(planName) ? planName : planName.trim();
	}

	public void setPlanName(String planName) {
		this.planName = planName;
	}

	public String getPlanDesc() {
		return StringUtils.isBlank(planDesc) ? planDesc : planDesc.trim();
	}

	public void setPlanDesc(String planDesc) {
		this.planDesc = planDesc;
	}

	public String getState() {
		return StringUtils.isBlank(state) ? state : state.trim();
	}

	public void setState(String state) {
		this.state = state;
	}

	public Integer getSourceType() {
		return sourceType;
	}

	public void setSourceType(Integer sourceType) {
		this.sourceType = sourceType;
	}

	public Integer getTargetType() {
		return targetType;
	}

	public void setTargetType(Integer targetType) {
		this.targetType = targetType;
	}

	public String getExecType() {
		return execType;
	}

	public void setExecType(String execType) {
		this.execType = execType;
	}

	public String getExecFrequency() {
		return StringUtils.isBlank(execFrequency) ? execFrequency : execFrequency.trim();
	}

	public void setExecFrequency(String execFrequency) {
		this.execFrequency = execFrequency;
	}

	public Integer getOperType() {
		return operType;
	}

	public void setOperType(Integer operType) {
		this.operType = operType;
	}

	public String getCycleType() {
		return StringUtils.isBlank(cycleType) ? cycleType : cycleType.trim();
	}

	public void setCycleType(String cycleType) {
		this.cycleType = cycleType;
	}

	public Integer getCycleDay() {
		return cycleDay;
	}

	public void setCycleDay(Integer cycleDay) {
		this.cycleDay = cycleDay;
	}

	public String getNeedCheck() {
		return StringUtils.isBlank(needCheck) ? needCheck : needCheck.trim();
	}

	public void setNeedCheck(String needCheck) {
		this.needCheck = needCheck;
	}

	public String getStartTime() {
		return StringUtils.isBlank(startTime) ? startTime : startTime.trim();
	}

	public void setStartTime(String startTime) {
		this.startTime = startTime;
	}

	public String getSpecialDay() {
		return StringUtils.isBlank(specialDay) ? specialDay : specialDay.trim();
	}

	public void setSpecialDay(String specialDay) {
		this.specialDay = specialDay;
	}

	public String[] getSpecialDays() {
		return specialDays;
	}

	public void setSpecialDays(String[] specialDays) {
		this.specialDays = specialDays;
	}

	public Integer getStaffId() {
		return staffId;
	}

	public void setStaffId(Integer staffId) {
		this.staffId = staffId;
	}

	public Integer getNodeId() {
		return nodeId;
	}

	public void setNodeId(Integer nodeId) {
		this.nodeId = nodeId;
	}

	public Integer getTableAnalyseFlag() {
		return tableAnalyseFlag;
	}

	public void setTableAnalyseFlag(Integer tableAnalyseFlag) {
		this.tableAnalyseFlag = tableAnalyseFlag;
	}

	public Integer getIndexAnalyseFlag() {
		return indexAnalyseFlag;
	}

	public void setIndexAnalyseFlag(Integer indexAnalyseFlag) {
		this.indexAnalyseFlag = indexAnalyseFlag;
	}

	public Date getEffDate() {
		return effDate;
	}

	public void setEffDate(Date effDate) {
		this.effDate = effDate;
	}

	public Date getExpDate() {
		return expDate;
	}

	public void setExpDate(Date expDate) {
		this.expDate = expDate;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Date getStateDate() {
		return stateDate;
	}

	public void setStateDate(Date stateDate) {
		this.stateDate = stateDate;
	}

	public Date getNextScheduleTime() {
		return nextScheduleTime;
	}

	public void setNextScheduleTime(Date nextScheduleTime) {
		this.nextScheduleTime = nextScheduleTime;
	}
}